import { z } from 'zod';
import { createZodDto } from 'nestjs-zod';
/**
 * 定义创建猫咪时的请求数据结构
 * 使用 Zod 可以在运行期对请求体做强类型校验，并给出清晰错误提示
 */
export const createCatSchema = z
	.object({
		// name 必须是非空字符串
		name: z.string().nonempty({ message: 'name字段不能为空' }),
		// age 必须是整数，范围 0~10；错误时给出中文提示
		age: z
			.number()
			.int({ message: 'age字段必须是整数' })
			.min(0, { message: 'age字段最小不能小于0' })
			.max(10, { message: 'age字段最大不能大于10' }),
	})
	.required();

// 根据 Zod 模式生成对应的 DTO 类
export class CreateCatDto extends createZodDto(createCatSchema) {}
